确保为你的starter提供一个合适的命名空间(namespace),模块名不要以spring-boot
作为开头,尽管使用一个不同的Maven groupId,未来我们可能会为你正在做的自动配置提供官方支持。
这里是经验之谈,假设你正在为“acme”创建一个starter,命名自动配置模块为acme-spring-boot-autoconfigure
,命名starter为acme-spring-boot-starter
,如果只有一个模块结合它们,通常会使用acme-spring-boot-starter
。
此外,如果你的starter提供配置keys,需要为它们提供一个合适的命名空间,特别是不要使用Spring Boot的命名空间(比如,server
,management
,spring
等),这些是属于Spring Boot的,我们可能会在将来以相同方式提高/修改它们,这可能会破坏你的东西。
确保触发meta-data生成,这样IDE辅助也就可以用于你的keys了,你可能想检查生成的元数据(META-INF/spring-configuration-metadata.json
)以确保keys被正确的文档化。